package demo01;
/*
生活中的接口举例
电源插座中的电源接口
接口就是一种公共的规范标准：只要醋和规范标准，就可以通用。
只要符合USB接口的规范，那么各种设备都可以使用：U盘，打印机，USB小风扇
*/
/*
接口就是多个类的公共规范。
接口是一种引用数据类型，最重要的内容就是其中的抽象方法。

如何定义一个接口的格式：
public interface 接口名称{
  //接口内容
}

备注：换成了关键字interface之后，编译生成的字节码文件依然是：.java-->.class

如果是Java7，那么接口中可以包含的内容有：
1.变量
2.抽象方法

如果是Java8，还可以额外包含有：
3.默认方法
4.静态方法

如果是Java9，还可以额外包含有：
5.私有方法

接口使用步骤：
1.接口不能直接使用，必须有一个"实现类" 来 “实现”该接口。
格式：
(类比之前的继承父类public class 子类名称 extends 父类名称{})
public class 实现类名称 implements 接口名称{
     //...
}
2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法。
实现：去掉abstract关键字，加上方法体大括号。
3.创建实现类的对象，进行使用。

注意事项：
如果实现类并没有覆盖重写接口中所有的抽象方法，那么这个实现类自己就必须是抽象类。
 */
public class Demo01Interface {
    public static void main(String[] args) {
        //写法错误，因为不能直接new接口对象使用。要用它的实现类，和子类差不多
        //MyInterfaceAbstract inter=new MyInterfaceAbstract() ;

        //创建实现类的对象使用
        MyinterfaceAbstractImpl impl=new MyinterfaceAbstractImpl();
        impl.methodAbs1();
        impl.methodAbs2();


    }
}
